//
//  UIBarButtonItem+UIButton.swift
//  微博08
//
//  Created by 123 on 16/3/5.
//  Copyright © 2016年 Tsr. All rights reserved.
//

import UIKit

// 扩展UIBarButtonItem,方便包装带按钮的UIBarButtonItem
extension UIBarButtonItem {
    /*
    Person.m
    // 便利构造函数
    + (id)personWithAge:(int)age {
    return [self alloc] initWithAge:age];
    }
    
    - (id)initWithAge:(int)age {
    self = [super init];
    
    return self;
    }
    */
    // 在分类里面添加构造函数
    // convenience: 便利构造函数, 方便构造对象
    // 便利构造函数必须调用指定构造函数
    // 在extension中只能添加便利构造函数
    // 构造函数所有的参数都有外部参数名
    
    convenience init(imageName: String) {
        let button = UIButton()
        button.setImage(UIImage(named: imageName), forState: UIControlState.Normal)
        button.setImage(UIImage(named: imageName + "_highlighted"), forState: UIControlState.Highlighted)
        button.sizeToFit()
        
        self.init(customView: button)
    }
    
    /**
     包装带按钮的UIBarButtonItem
     
     - parameter imageName: 按钮的图片
     
     - returns: 带按钮的UIBarButtonItem
     */
     // class 可以不用创建对象,直接使用类名调用
    class func ceareBarButtonItem(imageName name: String) -> UIBarButtonItem {
        let button = UIButton()
        
        button.setImage(UIImage(named: name), forState: UIControlState.Normal)
        
        button.setImage(UIImage(named: name + "_highlighted"), forState: UIControlState.Highlighted)
        
        button.sizeToFit()
        
        // 包装 UIBarButtonItem 返回
        return UIBarButtonItem(customView: button)
    }
}
